The present invention relates generally to interactive computer-implemented support solutions for facilitating the configuration of complex products having characteristics that are variable over a relatively wide range of possibilities. More particularly the invention relates to a system for configuring an artifact according to claim 1 and a method according to claim 10. The invention also relates to a computer program product according to claim 18 and a computer readable medium according to claim 19.
When a customer orders or purchases a product, or a system of products, hereinafter collectively referred to as an artifact (e.g. a car, a truck or a computer), which has a plurality of selectable features, sub-components etc., it may be a very intricate and tedious task to find a combination of features that is both technically permissible and satisfies the customer's requirements (as well as applicable regulatory restrictions, such emission levels, maximum vehicle dimensions and axle weights). Moreover, the combinations of possible choices are often interrelated, such that for instance a particular gearbox can only be used together with certain engine types and so on. Of course, depending on choices made at one stage, other choices to be made at a later stage may become irrelevant. For example, when configuring a computer a user may choose not to include a CD-ROM station in his/her PC, and instead opt for a DVD read/write station. If so, the user would like to avoid having to specify a particular CD-ROM model in a later step of the configuration procedure.
U.S. Pat. No. 5,515,524 describes a method and an apparatus for configuring systems, which employs a generative approach. Here, a configuration system with a model hierarchy is used, which is referred to as being a constraint-based. This approach renders it possible to define a model element as being contained in, or by, another model element. Consequently, logical and physical interconnections between various elements can be identified. However, the configuration engine operates in batch mode, i.e. it can only be applied to a complete set of parameters. This means that the mechanisms for selecting the parameters and the logic associated therewith are separated from the configuration model. As a result, only relatively low degrees of efficiency and user-friendliness are attainable.
U.S. Pat. No. 5,874,955 discloses an interactive rule-based system with selection feedback that parameterizes rules to constrain choices for multiple operations. This system may reduce the number of necessary choices. However, since at each stage, also options potentially incompatible with the configuration according to the prior choices are presented to the user; a latest made parameter selection can result in a rejection. Typically, this behavior will irritate the user who then must step back a number of steps, and choose differently.
U.S. Pat. No. 6,336,110 describes a system for solving a constraint satisfaction problem (CSP) and constructing of a system, wherein a large CSP is divided into a plurality of subsets, which each only has two alternatives for each part. Allegedly, this division renders it possible to solve the large CSP relatively quickly. However, in practice, configuration problems often contain variables with very large domains, e.g. variables expressing dimensions like length, width and/or height. Therefore, this division-approach is not efficient. Namely, the number of subsets here becomes unrealistically large.
U.S. Pat. No. 6,223,170 reveals a solution for inference of partial knowledge in interactive configuration, which enables configuration of a set of object values in a computer, e.g. in order to configure a car by choosing a specific combination of engine, paint, accessories, etc. The object values are here constrained by a rule base defining a number of relationships between the objects or the object values. Knowledge about undetermined object values is deduced by means of at least one interruptible algorithm. Thus, it can be determined whether a user selection of some, or all of, the individual undetermined object values are possible or not. Nevertheless, the strategy proposed in this document is tightly linked to the configuration of a particular product having predetermined object values and constraints. In order to be applicable to the configuration of a different product the apparatus and the method performed thereby must be redesigned entirely. Naturally, this is highly inflexible.
Applicant's published U.S. Patent Application No. 2007/0094175 discloses interactive computer-implemented support solutions for facilitating the configuration of complex artifacts. Here, a model translation module converts a configuration model into a CSP. The CSP, in turn, is defined by a set of variables, wherein each variable may attain a finite number of different values, and a set of constraints restricting which variable values that are simultaneously possible for the variables in the set of variables. A configuration engine calculates a solution to the CSP, which solution is optimal with respect to a value assigned to each variable in the CSP relative to a predefined optimizing criterion. The configuration engine also derives a set of optimal parameter values associated with the calculated solution. Hence, these parameter values describe the artifact's configuration.
Although this strategy is generally highly efficient, in practice the approach may be incapable of handling the configuration of very complex artifacts. Namely, the number of variables must be known on beforehand, and a large CSP may require exponential time to solve.